# -*- codeing = utf-8 -*-
# @Time : 2021/2/26 22:37
# @Atuthor: 朱朱
# @File: 128文件的打开方式.py
# @Software: PyCharm
""
"""
# mode 指的是文件的打开方式
    # r:只读模式，默认，打开文件以后，只能读取，不能写入。
        如果文件不能存在，会报错
    # w:写入模式，打开文件以后，只能写入，不能读取。
        如果文件存在，会覆盖文件；如果文件不存在，会创建文件。
    # b:以二进制的形式打开文件,可以用来操作非文本文件。
    # rb:以二进制读取   
    # wb:以二进制写入
    # a:追加模式，会在最后追加内容。如果文件不能存在，会创建文件；
        如果文件存在，会追加
    # r+:可读写。如果文件不能存在，会报错
    # w+:可读写。如果文件存在，会覆盖文件；如果文件不存在，会创建文件
"""
f1 = open('xxx.txt', 'r',encoding='utf8')
print(f1.read())
# f1.write('hello') # 以只读方式打开,不能写入,会报错
# f2 = open('xs.txt','r') # 打开不存在的文件,也会报错

f3 = open('xxx.txt', 'w')
# print(f3.read()) # 以写方式打,不能读取,会报错
f3.write('hello') # 写入会覆盖原来的内容
f4 = open('yyy.txt', 'w') # 如果yyy.txt不存在,会创建文件

f5 = open('xxx.txt','rb')
print(f5.read()) # b'' 以二进制方式读取文件
f6 = open('xxx.txt','wb')
# f6.write('大家好才是真的好') # 报错,只能以二进制方式写入
f6.write('大家好才是真的好'.encode('utf8'))

f7 = open('yyy.txt','w+') # 可读写,覆盖
f7.write('哈哈哈哈')
f7.seek(0,0) # 写入之后,文件指针,会移动到最后,需要调用seek,将指针重置开头
print(f7.read())

f1.close()
# f2.close()
f3.close()
f4.close()
f5.close()
f6.close()
f7.close()
